﻿using System;
using System.Collections.Generic;
using System.Text;

using ECCIT.Business.Model;
using OgilvyOne.Model;

namespace OgilvyOne.UKNow.Model
{
    [Serializable]
    public class EventsModel : BaseModel, IStaticGeneratableModel
    {
        public int? LanguageID { get; set; }            // 语言类型
        public string Title { get; set; }               // 活动标题
        public int? SponsorID { get; set; }             // 赞助商ID
        public SponsorModel Sponsor { get; set; }       // 赞助商
        public int? ArtFormID { get; set; }             // 艺术形式ID
        public ArtFormModel ArtForm { get; set; }       // 艺术形式
        public int? City { get; set; }                  // 活动举办城市
        public string Venue { get; set; }               // 活动举办地点
        /*
         * 代码注释：
         * 注释人员：刘扬
         * 注释日期：2012-02-12
         * 注释原因：新增了活动开始时间和活动截止时间，所以丢弃原先的活动举办时间属性
         * */
        //public DateTime Time { get; set; }              // 活动举办时间
        public string Detail { get; set; }              // 活动详细信息

        /*
        * 代码添加:
        * 添加人员：穆凤凤
        * 添加日期：2012-04-10
        * 添加描述：新增属性：活动巡回/教育活动
        * */
        public string Education { get; set; }              //  活动巡回/教育活动

        public string ShortDescription { get; set; }    // 活动简介
        /*
       * 代码添加:
       * 添加人员：穆凤凤
       * 添加日期：2012-04-26
       * 添加描述：新增属性：活动手机内容
       * */
        public string PhoneDetail { get; set; }    // 手机内容

        public bool IsHot { get; set; }                 // 是否热点活动
        public bool IsRecommendation { get; set; }      // 是否推荐活动
        public int? Order { get; set; }                 // 显示顺序
        public int? State { get; set; }                 // 活动状态
        public bool IsHomepageTop { get; set; }           // 首页置顶
        public bool IsColumnTop { get; set; }             // 栏目置顶
        public string LayerIDs { get; set; }            // 以逗号分割的层id串
        public DateTime InsertedTime { get; set; }
        public DateTime UpdatedTime { get; set; }
        public string Lng { get; set; }
        public string  Lat { get; set; }
        /*修改人：陈鹏
         * 修改时间：2012-02-01
         * 修改内容：
         *      新增加字段 活动列表图 COL_EVENTS_LB_IMG
         *      有cp注释的为本次修改的代码
         */
        public string ListImg { get; set; }    // 活动列表图  //cp


        /*修改人：陈鹏
         * 修改时间：2012-02-03
         * 修改内容：
         *      新增加字段 首页置顶图 COL_EVENTS_TOP_IMG
         *      有cp注释的为本次修改的代码
         */
        public string TopImg { get; set; }    // 首页置顶表图  //cp

        /*修改人：陈鹏
         * 修改时间：2012-02-10
         * 修改内容：
         *      新增加字段 活动模版id
         *      有cp注释的为本次修改的代码
         */
        

        #region IStaticGeneratableModel 成员
        public int? ID { get; set; }                    // 活动ID
        public int? TemplateID { get; set; }      // 活动模版id  //cp
        public int? ColumnID { get; set; }
        public bool IsHtmlFile { get; set; }
        public int Preview { get; set; }
        public string HtmlFileName { get; set; }
        public string SEOTitle { get; set; }
        public string SEOMetaKeywords { get; set; }
        public string SEOMetaDescription { get; set; }
        #endregion
        /*
         * 代码添加:
         * 添加人员：刘扬
         * 添加日期：2012-02-12
         * 添加描述：新增属性：活动门票预订链接、活动举办地点图片文件名、活动系列名称、活动起始时间、活动截止时间
         * */
        public string SubTitle { get; set; }
        public string TicketUrl { get; set; }
        public string VenueImagePath { get; set; }
        public bool IsSeriesMain { get; set; }
        public int? SeriesMainEventsID { get; set; }
        public DateTime? StartTime { get; set; }
        public DateTime? EndTime { get; set; }
        public int IsSpecial { get; set; }
        public Dictionary<string, string> PhoneImages;

        /// <summary>
        /// 新加有关图片的图片 李学明 2011-4-24
        /// </summary>
        public IList<PhoneImage> PhoneImagesList; 
        
        /*
        * 代码添加:
        * 添加人员：陈鹏
        * 添加日期：2012-03-23
        * 添加描述：新增属性：活动周期 显示时间 上传Html文件名 评论是否允许上传
        * */
        public string Week { get; set; }
        public string ShowTime { get; set; }
        public string UpLoadHtmlName { get; set; }
        public bool? AllowUploadAttachToComment { get; set; }
        public DictionaryManageModel CityModel { get; set; }

        public string CommentsNum { get; set; } //评论数
        public string PhotosNum { get; set; }   //照片数
        public string VideosNum { get; set; }   //视频数
        public EventsModel() { }
        public string FavoriteNum { get; set; }
        public int CheckInNum { get; set; }
        public int PraiseNum { get; set; }
        public string EventPhone { get; set; }   //手机活动标题

        /// <summary>
        /// 手机举办的地点 2012-5-4 李学明
        /// </summary>
        public string PhoneVenue { get; set; }
        public EventsModel(int? langID
            , int? id
            , string title
            , string subTitle
            , int? sponsorID
            , int? artFormID
            , int? city
            , string venue
            , DateTime? startTime
            ,DateTime? endTime
            , string detail
            , string education     //mff
            , string shortDesc
            , string phoneDetail   //mff
            , string listImg      //cp
            , string topImg       //cp
            , int? templateID     //cp
            , bool isHot
            , bool isRecommendation
            , int? order
            , int? state
            ,string lng
            ,string lat
            , bool isHomepageTop, bool isColumnTop, int? columnID, string layerIDs
            , DateTime insertedTime
            , DateTime updatedTime
            , string ticketUrl
            , string venueImagePath
            , bool isSeriesMain
            , int? seriesMainEventsID
            , int isSpecial
            , string week
            , string showTime
            , string upLaodHtmlName
            , bool? allowUploadAttachToComment
            ,string commentsNum
            , string photosNum
            , string videosNum
            , string eventPhone
            ,string phonevenue
            )
        {
            this.LanguageID = langID;
            this.ID = id;
            this.Title = title;
            this.SubTitle = subTitle;
            this.SponsorID = sponsorID;
            this.ArtFormID = artFormID;
            this.City = city;
            this.Venue = venue;
            this.StartTime = startTime;
            this.EndTime = endTime;
            this.ShortDescription = shortDesc;
            this.PhoneDetail = phoneDetail;   //mff
            this.ListImg = listImg; //cp
            this.TopImg = topImg;  //cp
            this.Detail = detail;
            this.Education = education;
            this.TemplateID = templateID; //cp
            this.IsHot = isHot;
            this.IsRecommendation = isRecommendation;
            this.Order = order;
            this.State = state;
            this.IsHomepageTop = isHomepageTop;
            this.IsColumnTop = isColumnTop;
            this.ColumnID = columnID;
            this.LayerIDs = layerIDs;
            this.TicketUrl = ticketUrl;
            this.VenueImagePath = venueImagePath;
            this.IsSeriesMain = IsSeriesMain;
            this.SeriesMainEventsID = seriesMainEventsID;
            this.InsertedTime = insertedTime;
            this.UpdatedTime = updatedTime;
            this.IsSpecial = isSpecial;
			this.IsHtmlFile = true;
            this.Lat = lat;
            this.Lng = lng;
            this.Week = week;
            this.ShowTime = showTime;
            this.UpLoadHtmlName = upLaodHtmlName;
            this.AllowUploadAttachToComment = allowUploadAttachToComment;
            this.CommentsNum = commentsNum;
            this.PhotosNum = photosNum;
            this.VideosNum = videosNum;
            this.EventPhone = eventPhone;
            this.PhoneVenue = phonevenue;
        }
    }
}
